using System;
using Sinacor.Infra.UI.Common;
using Sinacor.Infra.UI.Security.Services;
using System.Collections.Generic;
using Sinacor.Infra.Common;

namespace Sinacor.UI.Bovespa.ManutencaoOrdens.Communication.Translator.ModelToDataContract
{

    /// <summary>
    /// Traduz um modelo para um contrato de dados
    /// </summary>
    [Serializable]
    public class Operador
    {

		public Operador(){}

		/// <summary>
        /// ToFiltroCodigoOperadorRequest
		/// </summary>
		/// <param name="from"></param>
		/// <returns></returns>
		public Communication.Bovespa.ManutencaoOrdens.Operador.FiltroCodigoOperadorRequest ToFiltroCodigoOperadorRequest(Model.Parameter.FiltroCodigoOperador from)
        {
            Communication.Bovespa.ManutencaoOrdens.Operador.FiltroCodigoOperadorRequest retorno =
                new Sinacor.UI.Bovespa.ManutencaoOrdens.Communication.Bovespa.ManutencaoOrdens.Operador.FiltroCodigoOperadorRequest();

            if (from == null)
                return null;

            retorno.Kernel = from.Kernel;
            retorno.Valor = from.Valor;

            return retorno;
		}

		/// <summary>
        /// ToFiltroOperadorRequest
		/// </summary>
		/// <param name="from"></param>
		/// <returns></returns>
        public Communication.Bovespa.ManutencaoOrdens.Operador.FiltroOperadorRequest ToFiltroOperadorRequest(Model.Parameter.FiltroOperador from)
        {
            Communication.Bovespa.ManutencaoOrdens.Operador.FiltroOperadorRequest retorno =
                new Sinacor.UI.Bovespa.ManutencaoOrdens.Communication.Bovespa.ManutencaoOrdens.Operador.FiltroOperadorRequest();

            if (from == null)
                return null;

            retorno.Bloqueado = from.Bloqueado;
            retorno.CodigoOperador = from.CodigoOperador;
            retorno.CodigoOperadorMegaBolsa = from.CodigoOperadorMegaBolsa;
            retorno.CodigoOperadorRendaFixa = from.CodigoOperadorRendaFixa;
            retorno.IndicadorDesprezaOperadorSinalOfertasMegaBolsa = from.IndicadorDesprezaOperadorSinalOfertasMegaBolsa;
            retorno.IndicadorOperadorHomeBroker = from.IndicadorOperadorHomeBroker;
            retorno.IndicadorPontaMesa = from.IndicadorPontaMesa;
            retorno.LoginOperador = from.LoginOperador;
            retorno.NomeOperador = from.NomeOperador;            

            return retorno;
		}

	}
}